CREATE TABLE [dbo].[SystemConfig]
(
[SystemConfigKey] [uniqueidentifier] NOT NULL CONSTRAINT [DF_SystemConfig_SystemConfigKey] DEFAULT (newid()),
[ParameterName] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ParameterValue] [nvarchar] (2500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Description] [nvarchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL,
[OrganizationKey] [uniqueidentifier] NOT NULL,
[SystemEntityKey] [uniqueidentifier] NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [PK_SystemConfig] PRIMARY KEY CLUSTERED ([SystemConfigKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SystemConfig_CreatedByUserKey] ON [dbo].[SystemConfig] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_ParameterName] ON [dbo].[SystemConfig] ([ParameterName]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SystemConfig_ParameterName_OrganizationKey_SystemConfigKey] ON [dbo].[SystemConfig] ([ParameterName], [OrganizationKey], [SystemConfigKey]) INCLUDE ([ParameterValue]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SystemConfig_SystemEntityKey] ON [dbo].[SystemConfig] ([SystemEntityKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_SystemConfig_UpdatedByUserKey] ON [dbo].[SystemConfig] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [FK_SystemConfig_OrganizationMain] FOREIGN KEY ([OrganizationKey]) REFERENCES [dbo].[OrganizationMain] ([OrganizationKey])
GO
ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [FK_SystemConfig_SystemEntity] FOREIGN KEY ([SystemEntityKey]) REFERENCES [dbo].[SystemEntity] ([SystemEntityKey])
GO
ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [FK_SystemConfig_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[SystemConfig] ADD CONSTRAINT [FK_SystemConfig_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
GRANT SELECT ON [dbo].[SystemConfig] TO [IMIS]
GO